﻿using QuanLyThongTinCoSo.BaseForm;
using QuanLyThongTinCoSo.Biz;
using QuanLyThongTinCoSo.Common;
using Model = Database.Models;

namespace QuanLyThongTinCoSo.Forms.Role
{
    public partial class frmRoleDetail : frmDetail
    {
        private int roleId;

        private void LoadForm()
        {
            InitializeComponent();
            txtRoleName.Focus();
        }

        public frmRoleDetail()
        {
            LoadForm();

            Text = @"Thêm mới quyền sử dụng";
        }

        public frmRoleDetail(int id)
        {
            LoadForm();

            var roleBiz = new RoleBiz();

            Text = @"Sửa thông tin quyền sử dụng";

            _fromtype = Constant.TypeForm.Edit;
            roleId = id;

            var model = roleBiz.GetItemById(id) as Model.Role;
            if (model == null) return;
            txtRoleName.Text = model.RoleName;
        }

        #region Validation

        protected override bool Validation()
        {
            bool flag;

            errorProvider.Dispose();
            if (string.IsNullOrEmpty(txtRoleName.Text))
            {
                errorProvider.SetError(txtRoleName, "Bạn chưa nhập tên quyền sử dụng. Xin vui lòng kiểm tra lại");
                flag = false;
            }
            else
            {
                flag = true;
            }

            return flag;
        }

        #endregion

        #region Insert

        protected override void Insert()
        {
            var role = new Model.Role();
            role.RoleName = txtRoleName.Text.Trim();

            var roleBiz = new RoleBiz();
            roleBiz.Insert(role);
        }

        #endregion

        protected override void Edit()
        {
            var roleBiz = new RoleBiz();
            var model = (Model.Role) roleBiz.GetItemById(roleId);

            model.RoleName = txtRoleName.Text;
            roleBiz.Update(model);
        }
    }
}